import fitz  # PyMuPDF


def remove_watermark_from_pdf(input_pdf_path, output_pdf_path):
    # 打开源PDF文件
    doc = fitz.open(input_pdf_path)

    for page in doc:
        # 获取页面的文字字典，包括文字的位置信息
        text_instances = page.get_text("dict")["blocks"]

        for inst in text_instances:
            # 这里假设水印是文本形式，且我们知道水印的特定文字，例如"Sample Watermark"
            # 你需要根据实际情况调整条件来匹配你想要去除的水印
            if "www.yunxiuke.com" in inst["text"]:
                # 获取水印文字的矩形区域
                rect = fitz.Rect(inst["bbox"])
                # 用白色矩形覆盖该区域，去除水印
                # 注意：这里假设页面背景是白色的，对于其他背景颜色，需要相应调整
                page.draw_rect(rect, color=(1, 1, 1), fill=(1, 1, 1))

    # 保存修改后的PDF
    doc.save(output_pdf_path)


if __name__ == "__main__":
    # 使用示例
    input_pdf_path = "C:\\Users\\DELL\Desktop\\胡老师教你识读电子电路图电子书.pdf"
    output_pdf_path = "C:\\Users\\DELL\Desktop\\out.pdf"
    remove_watermark_from_pdf(input_pdf_path, output_pdf_path)
